home *** CD-ROM | disk | FTP | other *** search
- #ifndef _PPC_INIT_H
- #define _PPC_INIT_H
-
- #if __GNUC__ > 2 || __GNUC_MINOR__ >= 90 /* egcs */
- #define __init __attribute__ ((__section__ (".text.init")))
- #define __initdata __attribute__ ((__section__ (".data.init")))
- #define __initfunc(__arginit) \
- __arginit __init; \
- __arginit
-
- #define __pmac __attribute__ ((__section__ (".text.pmac")))
- #define __pmacdata __attribute__ ((__section__ (".data.pmac")))
- #define __pmacfunc(__argpmac) \
- __argpmac __pmac; \
- __argpmac
-
- #define __prep __attribute__ ((__section__ (".text.prep")))
- #define __prepdata __attribute__ ((__section__ (".data.prep")))
- #define __prepfunc(__argprep) \
- __argprep __prep; \
- __argprep
-
- /* this is actually just common chrp/pmac code, not OF code -- Cort */
- #define __openfirmware __attribute__ ((__section__ (".text.openfirmware")))
- #define __openfirmwaredata __attribute__ ((__section__ (".data.openfirmware")))
- #define __openfirmwarefunc(__argopenfirmware) \
- __argopenfirmware __openfirmware; \
- __argopenfirmware
-
- #define __INIT .section ".text.init",#alloc,#execinstr
- #define __FINIT .previous
- #define __INITDATA .section ".data.init",#alloc,#write
-
- #define __cacheline_aligned __attribute__ \
- ((__section__ (".data.cacheline_aligned")))
-
- #else /* not egcs */
-
- #define __init
- #define __initdata
- #define __initfunc(x) x
-
- #define __INIT
- #define __FINIT
- #define __INITDATA
-
- #define __pmac
- #define __pmacdata
- #define __pmacfunc(x) x
-
- #define __prep
- #define __prepdata
- #define __prepfunc(x) x
-
- #define __openfirmware
- #define __openfirmwaredata
- #define __openfirmwarefunc(x) x
-
- #define __cacheline_aligned
- #endif /* egcs */
- #endif
-